// 给出一个字符串 s（仅含有小写英文字母和括号）。

// 请你按照从括号内到外的顺序，逐层反转每对匹配括号中的字符串，并返回最终的结果。

// 注意，您的结果中 不应 包含任何括号。

// 来源：力扣（LeetCode）
// 链接：https://leetcode-cn.com/problems/reverse-substrings-between-each-pair-of-parentheses
// 著作权归领扣网络所有。商业转载请联系官方授权，非商业转载请注明出处。

/**
 * @param {string} s
 * @return {string}
 */
 var reverseParentheses = function (s) {
  let left = []
  let right = []
  let _s = s.split("")
  let _left = left.reverse()
  for (let i = 0; i < s.length; i++) {
      if (s[i] == '(') {
          left.push(i)
      } else if (s[i] == ")") {
          right.push(i)
      }
  }
  let parenthesesList = right.map(e => {
      let index = _left.findIndex(ele => ele < e)
      let a = [left[index], e]
      left.splice(index, 1)
      return a
  })
  parenthesesList.forEach(e => {
      _s.splice(e[0], e[1] - e[0] + 1, ..._s.slice(e[0], e[1] + 1).reverse())
  })
  return _s.join('').replace(/\(|\)/g, '')
};